#pragma once

#include "Structures.h"
#include "SpriteNode.h"
#include "TextNode.h"
#include "FriendlyShip.h"
#include "Quadrant.h"
#include "Galaxy.h"
#include "LongRangeScan.h"

class Clickable;

class Model
{
private:
	MouseInfo mouseInfo;
	FriendlyShip ship;
	Clickable* mouseClicked;
	int currentState;					//change normal and warp states
	Quadrant Q;						
	Galaxy G;
	LongRangeScan LRS;
	int Normal, Warp;
private:
	Model();
	void Init();	//what goes in here???
public:
	inline static Model* getInstance()	{static Model instance; return &instance;}//don't knw how to implement
	bool Update(MouseInfo);
	void Draw();						//asks to draw everything
	FriendlyShip* getFriendlyShip() {return &ship;}
	void changeState();					//change from normal to warp state
};